Method and system for providing automated data retrieval in support of fault isolation in a managed services network

ABSTRACT

An approach for supporting automated fault isolation is provided. An alarm is received indicating a fault within a customer network that includes one or more network elements. The customer network being monitored by a service provider. A script is retrieved for specifying a dialogue with the network elements for data collection. A command is transmitted to the customer network according to the one script to obtain data from the network elements, wherein the data is utilized to determine the fault. Further, a workflow event corresponding to the alarm is generated, wherein resolution of the fault is automated according to the workflow event.

RELATED APPLICATIONS

This application is related to, and claims the benefit of the earlierfiling date under 35 U.S.C. § 119(e) of, U.S. Provisional PatentApplication (Ser. No. 60/671,899; Attorney Docket: COS05001PR), filedApr. 14, 2005, entitled “Network Management System with Automated FaultIsolation”; the entirety of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

Modern communication systems involve a delicate interplay of networkcomponents that support voice and data services. These systems are vitalto business operations, such that downtime imposes a significant cost tothe business. Ensuring that networks perform to their architectedavailability and mitigating the risk of downtime are key drivers forinformation managers. Whether the infrastructure is supportinge-commerce, regulatory compliance reports, supply chain management, oreven internal electronic mail, loss of connectivity has a severe impact.For example, as applications, such as complex ordering, billing andcommunication systems, have been added to the Internet Protocol (IP)ensuring that networks remain connected and available is of key concern.The impact of network failures (even very minor ones lasting onlyminutes) can be measured in thousands or even millions of dollars. Theability to quickly identify faults and restore network connectivity arecritical to helping companies meet and exceed their business objectives.Consequently, network monitoring systems are needed to detect networkanomalies, stemming from network component failure, cable cuts, etc.

Network monitoring involves receiving and interpreting a multitude ofalarms that are assigned to various network components. These alarms aretriggered when anomalies are detected in their respective components.Monitoring systems provide these alarms in form of reports for networkanalysts (or network monitors) to analyze the cause of the networkanomaly and to manually initiate action to resolve the cause. Suchresolution can also entail manually interfacing with multiple disparatesystems.

Given the size of modem networks, the number of alarms can beunmanageable. That is, the network monitors may be inundatedperiodically with alarm reports stemming from a major network problem,or even a series of small anomalies arising within a short time span.These events can thus trigger a tremendous volume of alarm reports,which can overwhelm the network surveillance engineers and hamper theprocess of restoring the network. Reducing the restoration time pernetwork event can translate into significant savings to the customer.

In conventional network monitoring environments, network surveillanceengineers receive alarm reports from the telecommunications network andthen manually process these alarm reports. Processing an alarm reportinvolves an orderly procedure for resolving the anomaly that generatedan alarm. The processing of alarm reports to resolve network anomaliescan require retrieving network parameter information, such as equipmentoperating characteristics from paper manuals; consulting telephonedirectories to find telephone numbers for remote network sites;collection configuration information from the network equipmentassociated with the trouble; and completing electronictelecommunications trouble forms, referred to as trouble tickets orservice reports. A network surveillance engineer prepares a troubleticket (or service report) when action by a field engineer appearsnecessary. Field engineers are typically telecommunications personnelwho service the telecommunications network (e.g., replacing a faultycomponent at a specific location).

Traditionally, organizations and businesses have resorted to addressingthe daunting, costly task of network monitoring and maintenance on theirown. These “Do-It-Yourself (DIY)” organizations assume the heavyfinancial costs associated with hardware, software and human capital ofnetwork management systems. Moreover, these customer organizations aregenerally are ill equipped to fully diagnose the problems caused orcontributed by third parties (e.g., Local Exchange Carriers(LECs))—i.e., they lack end-to-end visibility.

Based on the foregoing, there is a need for integrating and automatingthe processes and systems to provide fault detection and recovery ofcommunications networks. There is also a need for an approach to providerapid fault isolation and resolution.

SUMMARY OF THE INVENTION

These and other needs are addressed by the present invention, in whichan approach for performing automated fault isolation and/or resolutionis provided.

According to one aspect of the present invention, a method forsupporting automated fault isolation is disclosed. The method includesreceiving an alarm indicating a fault within a customer network thatincludes one or more network elements, the customer network beingmonitored by a service provider. The method also includes retrieving oneof a plurality of scripts for specifying a dialogue with the networkelements for data collection. Additionally, the method includestransmitting a command to the customer network according to the onescript to obtain data from the network elements, wherein the data isutilized to determine the fault. Further, the method includes generatinga workflow event corresponding to the alarm, wherein resolution of thefault is automated according to the workflow event.

According to another aspect of the present invention, a system forsupporting automated fault isolation as a managed service by a serviceprovider is disclosed. The system includes an automation engineconfigured to receive an alarm indicating a fault within a customernetwork that includes one or more network elements, wherein theautomation engine is further configured to retrieve one of a pluralityof scripts for specifying a dialogue with the network elements for datacollection. The system also includes a command factory configured totransmit a command to the customer network according to the one scriptto obtain data from the network elements, wherein the data is utilizedto determine the fault. The system further includes a workflow engineconfigured to generate a workflow event corresponding to the alarm,wherein resolution of the fault is automated according to the workflowevent.

According to yet another aspect of the present invention, a method forsupporting automated fault isolation is disclosed. The method includestransmitting an alarm to a network management platform operated by aservice provider. The alarm indicates a fault within a customer networkthat includes one or more network elements. The network managementplatform is configured to retrieve one of a plurality of scripts forspecifying a dialogue with the network elements for data collection andto generate a workflow event corresponding to the alarm. The method alsoincludes receiving a command from the network management platformaccording to the one script to obtain data from the network elements,wherein the data is utilized to determine the fault.

According to yet another aspect of the present invention, an apparatusfor supporting automated fault isolation as a managed service by aservice provider is disclosed. The apparatus includes a communicationinterface configured to transmit an alarm to a network managementplatform operated by the service provider. The alarm indicates a faultwithin a customer network that includes one or more network elements,wherein the network management platform is configured to retrieve one ofa plurality of scripts for specifying a dialogue with the networkelements for data collection and to generate a workflow eventcorresponding to the alarm. The apparatus also includes a processorcoupled to the communication interface and configured to receive acommand from the network management platform according to the one scriptto obtain data from the network elements, wherein the data is utilizedto determine the fault.

Still other aspects, features, and advantages of the present inventionare readily apparent from the following detailed description, simply byillustrating a number of particular embodiments and implementations,including the best mode contemplated for carrying out the presentinvention. The present invention is also capable of other and differentembodiments, and its several details can be modified in various obviousrespects, all without departing from the spirit and scope of the presentinvention. Accordingly, the drawings and description are to be regardedas illustrative in nature, and not as restrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings in which likereference numerals refer to similar elements and in which:

FIGS. 1A-1C are diagrams, respectively, of a managed services system forproviding fault isolation, according to various embodiments of thepresent invention;

FIGS. 2A and 2B are flowcharts, respectively, of a fault isolationprocess performed as a managed service and of a data collection processused in the fault isolation process, according to various embodiments ofthe present invention;

FIGS. 3A-3E are a flowchart of an automation process for fault handling,according to one embodiment of the present invention;

FIG. 4 is a flowchart of a notification process, according to anembodiment of the present invention;

FIG. 5 is a flowchart of a data collection process, according to oneembodiment of the present invention;

FIGS. 6A-6D are a flowchart of a process for fault testing, according toan embodiment of the present invention;

FIG. 7 is a flowchart of a process for network monitoring, according toan embodiment of the present invention; and

FIG. 8 is a diagram of a computer system that can be used to implementan embodiment of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENT

An apparatus, method, and software for providing fault isolation and/orresolution as part of a managed services network are described. In thefollowing description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. It is apparent, however, to oneskilled in the art that the present invention may be practiced withoutthese specific details or with an equivalent arrangement. In otherinstances, well-known structures and devices are shown in block diagramform in order to avoid unnecessarily obscuring the present invention.

Although the various embodiments of the present invention are describedwith respect to providing automated fault isolation and/or recovery in amanaged services context, it is contemplated that these embodiments haveapplicability to systems operated solely by customer organizations.

FIGS. 1A-1C are diagrams, respectively, of a managed services system forproviding fault isolation, according to various embodiments of thepresent invention. A managed services system 100 (shown in FIG. 1A)employs a workflow application, as executed by an integrated networkmanagement platform 101, to automate many of the initial actions neededin response to a fault alarm affecting a managed network. The system 100possesses an automation architecture, which is more fully describedbelow with respect to FIG. 2, for collection and pre-processing of alarminformation using an external process. The automation process (orengine) gathers topology and customer specific information for use inreacting to the alarm. Conditional invocation of automation based oncustomer preferences is supported. An automation “script” can be applieddepending on the nature of the alarm. The automation engine alsocommunicates with maintenance and trouble ticket management systems todetermine correlation of the fault alarm. Additionally, automaticinitiation of data retrieval and testing services, which can be subjectto customer preferences and the nature of the alarm, are supported.Further, the system 100 provides automatic reporting of status of theautomated process to various users (e.g., surveillance engineer andcustomer); the customer has the capability to dynamically specify whenand how they are to be contacted. A monitor service for continualmonitoring and reporting on the alarm state is offered by the system,whereby trouble tickets can be re-opened, and the automation processre-initiated as needed.

According to one embodiment of the present invention, fault isolationand network resolution/recovery capabilities are described as a managedservice offered by a network service provider (e.g., a carrier) in thesystem 100. It is recognized that network service providers, compared tocustomer organizations, have greater end-to-end view of communicationsbecause they control the backbone. Consequently, these service providerscan identify network events and isolate faults quickly, without havingto “wait” for assistance or resolution by other parties, regardless ofwhether the problem occurs in the customer network, an access link, orthe core network.

To support fault isolation and network resolution/recovery capabilities,the integrated network management platform 101 can serve one or morecustomer networks, such as network 103. The integrated networkmanagement platform 101 interfaces with various element management andnetwork management systems to provide a unified view of network problemsto the network management personnel. The platform 101 provides numerousfeatures that can enhance productivity for the network analyst. Thesefeatures, for example, include workflow, ticketing, topologyinformation, task automation, command interaction capabilities, as wellas interfaces to several internal systems for maintenance activities,outage notifications, and contact information.

The integrated network management platform 101 accordingly can serve asa global account manager to provide user authentication services,including a single sign-on capability as well as workstationindependence. Access privileges and configurable application data forsave/restore user session profiles are also supported. The platform 101additionally provides a common repository for user, group, application,and resource data, along with the associated security settings, and anApplication Programming Interface (API) for managing a variety ofinformation. The platform 101 can adopt network security policies, andsupport automated application updates. Further, the integrated networkmanagement platform 101 provides a front-end web portal, according toone embodiment of the present invention.

In an exemplary embodiment, the platform 101 has a JAVA® 2 EnterpriseEdition (J2EE) application framework to leverage its support fordatabase connectivity, transaction processing, and directory services ina reliable and secure environment.

The customer (or managed) network 103, in an exemplary embodiment, canbe an enterprise network providing voice and/or data services for theenterprise. For instance, the customer network 103 can be an InternetProtocol (IP)-based network supporting data communication as well as IPtelephony; it is noted any variety of local area network (LAN) and widearea network (WAN) technologies can be deployed within the network103—e.g., Asynchronous Transfer Mode (ATM), Ethernet-based, etc.

On the service provider side, the management platform 101 has access toa customer network inventory database 105, which stores information (asnecessary for performing fault isolation) about the network componentsof the customer network 103.

The management platform 101 interfaces with various systems, including amaintenance management system 107, a network testing system 109, and atrouble management system 111. The platform 101, thus, provides theability to discover or store the topology of the customer network 103,review alarms/events on the network 103, eliminate events fromconsideration due to pre-determined maintenance windows and correlatethe alarms into significant events.

Also, the management platform 101 supports an automation engine thatengages the appropriate test scripts based upon the event to furtherisolate the problem. Customer Premise Equipment (CPE) of the network 103are polled (through, for example, out-of-band access if connectivity hasbeen lost), and test points across the network 103 as well as thebackbone network (not shown) are checked at all appropriate locationsincluding at a Local Exchange Carrier (LEC) network. These automatedend-to-end checks can be performed simultaneously, without requiringhuman intervention, resulting in a trouble ticket if necessary. Aftertesting, a single report is generated, capturing the conclusion of allthe testing. The report can then be provided to an analyst (e.g., aNetwork Operations Control (NOC) engineer or personnel of the serviceprovider), who can then work on the restoration of the network 103.

As shown, alarms and/or events are generated by the customer network103, and forwarded to the management platform 101 . At any time duringthe process of resolving the fault within the customer network 103, auser (e.g., network administrator, etc.) in the customer organizationcan retrieve information about the fault via a graphical user interface(GUI) system 113. This GUI system 113 can be a web browser or a localnetwork management platform.

As mentioned earlier, in the DIY approach, the customer would have toperform a number of manual steps. For example, the administrator wouldneed to view all the alarms across the network, and correlate the alarmsinto distinguishing events (i.e., topology correlation). Also, theadministrator may need to obtain information from the network componentsby dialing out-of-band into a CPE to evaluate health of the CPE. If theCPE is not the cause of the fault, the administrator can then contactthe circuit provider to explain the problem and to identify the troubledlocation/site. The circuit provider may subsequently open a troubleticket for handling by a field technician. The technician can theninitiate the appropriate tests to diagnose the fault. At this point,there can be confusion regarding who is responsible for the problem.

According to one embodiment of the present invention, the integratednetwork management platform 101 can provide personnel of the serviceprovider with a central tool that automates numerous functions for thetechnician. These functions can include fault detection and root causedetermination for CPE reported failures; customer and circuitidentification; trouble ticket creation, update and closure; andmaintenance check. Also, the functions can include end-to-end alarmcorrelation and testing, for example, based upon circuit identifiers(IDs); ticket referral; fix verification (alarm clear and ticketrefer-back); and customer notification and interaction.

As described above, the platform 101 enables an integrated, automatedapproach to fault isolation and resolution. As shown in FIG. 1B, for thepurposes of explanation, the platform 101 possesses an automationarchitecture 151 comprising three tiers: a fault analysis andelimination tier 153, a fault processing tier 155, and a repairmanagement tier 157.

The fault analysis and elimination tier 153 of the architectureeffectively provides a user interface (e.g., graphical user interfaces(GUIs)) via a real-time management and analysis module 153 a and aservices portal 153 b. This tier 153 provides GUIs that are used tointeract with alarms, tickets, and workflow events that exist within thesystem 100. Tier 153 also has the ability to call web links directly toboth the systems of the repair management tier 157 as well as otherbusiness processes, which can provide access to detailed information andbusiness functions when needed.

The services portal 153 b provides an interface to the customer for thefollowing capabilities: project management, order management, changemanagement, network management, activity completion reporting andservice provisioning for managed services. The portal 153 b can possessan associated database (not shown) for managed services customer premiseequipment as well as, for example, related customer contact data, IPaddresses, operations process and service level agreements, maintenanceagreements, etc.

The services portal 153 b is also capable of receiving service orderinformation. The portal 153 b maintains knowledge of related circuitconnections corresponding to the managed CPE. Alternate carrier circuitinformation is also supported.

According to one embodiment of the present invention, the servicesportal 153 b employs a web services eXtensible Mark-up Language (XML)interface. This interface can provide access to services portal data,including customer and site contact information, procedures at customerand site level, CPE detail, circuit numbers, change managementactivities, IP addressing, alert status, etc.

Further, the services portal 153 b can accommodate network devices thatare shared by multiple customers to support services, such as virtualrouters and virtual firewalls, in which customers are assigned privatenetwork services that are provided by shared devices. Additionally, theservices portal 153 b can obtain and present backbone edge routerport/interface configurations upon demand and include this informationwith network configuration inquiries from the topology services module155 a or the command factory 155 c. It is noted that audit circuitinformation and port/interface configuration between edge routers andcustomer CPE can be conducted on a regular basis (e.g., periodically).Inconsistent data will either result in automated updates ornotification of the specific contact within the services portal 153 bfor that customer.

The fault analysis and elimination tier 153 can comprise a collection ofnetwork and element management platforms that provide direct managementof network elements. The systems within this tier 153 can communicatewith the fault processing tier 155, which serves as a manager ofmanagers, via a common XML based information exchange model and CommonObject Request Broker Architecture (CORBA) communications busarchitecture, for example.

To appreciate the present invention, it is instructive to discussbriefly the CORBA specification as well as object-oriented technology ingeneral. CORBA is a specification that enables software modules tocommunicate with other software modules in other programs, even if thetwo programs are written in different programming languages and arerunning on different platforms. A software component is an individualmodular software routine that has been compiled and dynamically linked,and is ready for use with other software components and programs. Asoftware component has an intended purpose, which is to perform aspecified function or functions. A software application is a collectionof software components and an application facilitates the interactionbetween software components using the underlying communicationsinfrastructure.

In a CORBA environment, a program makes a request for services ofsoftware modules through an Object Request Broker (ORB), and thus, doesnot need to know the design and composition of the program, whichincludes the software. In client/server applications, an ORB is aninterface to which the client makes a request for service from asoftware object.

In an object-oriented programming environment, a client is defined as amember of a class or group that uses the services of another class orgroup to which the client is not related by way of inheritance from acommon class or group. More generally, a client is a software modulethat requests a service provided by another software module. The clientuses the requested service without having to know any working detailsabout the other software module or the service. In a networkenvironment, a server is defined as a computer or program that respondsto commands from a client.

In a large enterprise such as a corporation, enterprise computing is theuse of computers in a network or series of interconnected networks thatgenerally encompass a variety of different platforms, operating systems,protocols, and network architectures. Middleware is software that istransparent to a user, which takes two or more applications and makesthem work seamlessly together. With middleware technology, a user candesign an ordinary component to provide its regular function, and theninsert an appropriate middleware mix when the component is built orcreated at run time. For instance, CORBA is a middleware project.

A CORBA object bus defines the design of the resident components and howthese components communicate with one another. CORBA was designed toallow intelligent components to discover each other and interoperate onan object bus. However, CORBA goes beyond interoperability. CORBA alsospecifies an extensive set of bus-related services for creating anddeleting software objects, accessing them by name, storing them inpersistent stores, externalizing their states, and defining ad hocrelationships between them.

CORBA software objects are components of intelligence that may resideanywhere on a network. They are packaged as binary components whichremote clients may access via method invocations. Both the language andcompiler used to create server software objects are transparent toclients. Clients have no need to know where the distributed softwareobject resides or on what operating system it executes. The distributedsoftware object may be in the same process or on a machine that sitsacross a large network. Additionally, clients have no need to know how aserver software object is implemented. For example, a server softwareobject may be implemented, for example, as a set of JAVA® classes, or itmay be implemented as a large COBOL (Common Business-Oriented Language)program. The client only needs to know the interface its server softwareobject publishes. The interface then serves as a binding contractbetween clients and servers.

The fault analysis and elimination tier 153 can provide the followingservices to the fault processing tier 155: highly reliable fault andperformance data collection, command and control of the networkelements, alarm reduction (e.g., root cause analysis), a common CORBAXML interface to the fault processing tier 155, and synchronizationbetween tiers 153 and 155.

The fault processing tier 155 plays a central role within the automationarchitecture, functioning as a manager of managers, incorporatingbusiness logic that support network management activities. Inparticular, the tier 155 includes a topology services module 155 a, afault handling module 155 b, a command factory 155 c, an automationengine 155 d, and a workflow engine 155 e. This tier 155 enables theintegration of network reported fault indications from the repairmanagement tier 157 systems and provides value-added common businessprocess features. Consequently, efficient service restoration andequipment repair tracking are attained.

Specifically, the fault processing tier 155 provides the followingservices through one or more combinations of the modules 155 a-155 e.For instance, the topology services module 155 a provides an interfaceto several external databases for accurate and timely topology andcustomer correlation to events being generated in the network 103. Thefault handling module 155 b provides fault/event data repository andreporting services, such as storing the alarms and events and allassociated data as well provides user reporting capabilities. Thecommand factory module 155 c provides the ability to interact withmanaged elements in the network 103.

The primary functions of the topology services module 155 a includeproviding customer and circuit correlation services on a real-time(e.g., sub-second) basis and to provide a topology layer to buffer theplatform 101 from constant topology system changes. The module 155 aqueries for topology data and has the capability to subscribe toautomatic updates as this information changes in the source systems. Thetopology services module 155 a provides alarm to customer/circuitcorrelation and network topology for fault correlation/automation. Thismodule 155 a can interface with several network provisioning andconfiguration management systems to execution of the above functions.

The topology services module 155 a can interconnect with the database(not shown) of the services portal 153 b to allow access to the customerand circuit specific information (e.g., device/circuit, Public SwitchedTelephone Network (PSTN) dial-up number, customer data, and customersensitivity notification level, etc.) in that repository. For example,the topology services module 155 a can, in certain embodiments, populatethe city, state, and country fields on the alarm so that flashes can begenerated automatically. Also, the module 155 a can add circuitidentifier (ID) and customer name information to the alarms.Additionally, the topology services module 155 a can obtain maintenanceinformation from the repair management tier 157 to correlate reportedalarms and maintenance events in progress.

The fault processing tier 155 also provides service restoration andoutage management, including automatic service restoration for somenetwork types and an interface into outage tracking and notificationsystems.

As part of the fault processing tier 155, the command factory module 155c also provides an interface to other applications and a commoninterface for all managed network devices. The command factory module155 c, in an exemplary embodiment, is a web-based application thatprovides users with generic command capabilities and remote access tonetwork devices. For example, the command factory module 155 c canprovide access to transport switches, digital cross connects, framerelay switches, ATM switches, or private IP devices. Access to thedevices can be controlled such that only personnel who are authorized toaccess network devices in their Area Of Responsibility (AOR) can do so.Command level security is supported to determine which users/groups caninvoke specific generic commands.

The automation engine 155 d and the workflow engine 155 e provideticketing, automation, and workflow services. For example, theautomation engine 155 d can automate many of the routine networkoperation center responsibilities. The engine 155 d provides thecapability to modify automation scenarios to quickly adapt to customerneeds. The automation engine 155 d provides an interface to the troublemanagement system of the repair management tier 157.

Workflow services are provided to the events created within the system,such as status tracking and clear correlation of “clear” statusindication. The workflow engine 155 e provides event managementservices, which enable multiple alarms to be associated to a singlenetwork event, and permits tickets to be opened via the troublemanagement system (as well as verification of the problem resolution).

Events created by the workflow engine 155 e are the internal trackingmechanism for groups of related alarms (or network troubles). Each eventcan have an associated trouble ticket, such that the event can beconfigured to close that ticket when the network problem is resolved andthe alarms are cleared. To efficiently address potential recurrence ofthe problem, timers can also be configured to hold events open for someperiod of time before they are closed.

The workflow engine 155 e can create trouble tickets based on alarmsfrom the real-time management and analysis module 153 a and refer themto the testing system within the repair management tier 157 forprocessing. The workflow engine 155 e can populate a trouble ticketsymptom code with a code that corresponds to the alarm type beingreported. Exemplary system codes include: IP down (e.g., routerinterface not responsive to PING), network connection down (e.g.,connection within network has failed), interface down (e.g., failure ofcircuit between router and WAN), router down (e.g., failure of accesscircuit), etc. The engine 155 e can also pass additional fields neededfor circuit testing. According to various embodiments of the presentinvention, the workflow engine 155 e can allow previously opened troubletickets to be populated on the alarms within the system.

The fault processing tier 155 also provides network maintenance andchange management services, including providing an interface to tracknetwork equipment maintenance to shield the operations centers fromalarms that are generated from known maintenance activities.Additionally, the fault processing tier 155 supports event forwardingservices. These services provide the ability to forward alarms out ofthe integrated network management platform 101 to external systems thatmay require the information.

The repair management tier 157 comprises a number of systems: asurveillance and operations system 157 a, a maintenance and reportingsystem 157 b, a testing system 157 c, a trouble management system 157 d,a resource manager 157 e, and a customer portal 157 f.

The maintenance and reporting system 157 b provides a reporting systemthat is used to support managed services requirements based on data inservices portal 153 b and from events received from the managed customernetworks. The system 157 b provides a full services reportingenvironment including pre-defined and scheduled reports (supported bythe testing system 157 c), user defined reports, and ad-hoc reports.

By way of example, the customer portal 157 f is a secure web portalservice that provides an interactive experience for the managed servicescustomer, including access to project and order status for siteimplementations, upgrades and other services, network inventory,procedures, circuit numbers, etc. The customer is also able to updatetheir site contact information directly through the customer portal 157f. The customer portal 157 f, in an exemplary embodiment, can utilizethe same database as the services portal 153 b. The customer portal 157f provides a GUI for customer access to the change management subsystemof the services portal 153 b. The portal 157 f can also support customernotifications of service problems, trouble tickets, status of troubleisolation, change request approvals, etc. In addition, the portal 157 fcan receive customer responses (e.g., acknowledgement or denial ofticket closure requests). Users can access graphical network topologyviews through the customer portal 157 f. Further, the portal 157 f has areporting capability, whereby the users can obtain pre-defined andcustomized reports—e.g., scheduled reports and ad-hoc reports based onall data available through the customer portal 157 f. The customerportal 157 f also interfaces with the automation engine 155 d forupdates of the customer network problems and customer responseconfirmations on network testing and valid fault conditions.

The trouble management system 157 d is integrated with the platform 101to enable alarm to ticket creation workflow and tracking. The troublemanagement system 157 d is utilized network operations centers (NOCs)(not shown) to document and track network and customer reportedproblems. The trouble management system 157 d is also used forpro-active customer notifications based upon created tickets andnotification criteria.

The testing system 157 c, in an exemplary embodiment, provides theservice provider with an intelligent, integrated, and easy-to-usecircuit and element testing, and fault isolation product. The testingsystem 157 c can be used to support newly installed circuits and toresolve customer reported (maintenance) problems. The testing system 157c supports automation features for performing automated fault isolationand testing initiated from the trouble management system 157 d. Faultisolation involves gathering circuit topology information, accessingremote network elements (of the customer network 103) to retrievereal-time statistics, and performing intrusive testing.

The testing system 157 c can then, for example, perform circuit basedfault isolation and testing off of the generated trouble ticket. Thetesting system 157 c can then add results from the circuit diagnosis asremarks to the trouble ticket for viewing by the user. In addition, thetesting system 157 c supplies the workflow engine 155 e with ticketstate (transition) updates as well as final remarks of the circuit test.

The testing system 157 c updates the trouble ticket and refers theticket back to the responsible organization or out to the LEC (LocalExchange Carrier) for resolution based on cause of the fault (e.g., viaa fault isolation code). The testing system 157 c, in real-time, updatesthe workflow engine 155 e with testing status and final comments. Thetesting system 157 c, according to one embodiment of the presentinvention, supports a graphical user interface (GUI). This GUI can belaunched via the interface of the surveillance and operations system 157a.

By way of example, operation of the automation architecture 151 under anexemplary scenario, such as a CPE circuit failure, is explained asfollows. While the automation operation is described as a serialprocess, it is contemplated that the automation can occur in paralleland that multiple scenarios can be active at any one point in time.First, alarms are reported from the customer network 103 as well as theservice provider's network equipment. These alarms are collected andanalyzed by the real-time management and analysis module 153 a, whichanalyzes the reported alarms via, for example, standard algorithms todetermine the most likely source of the failure. Based upon this “rootcause analysis,” the module 153 a produces a derived alarm, whichidentifies the failed circuit and CPE equipment, and communicates it tothe fault processing tier 155. The fault handling module 155 b storesthe received alarm and determines which processes have “subscribed” toreceive these alarms. The fault handling module 155 b queries thetopology services module 155 a to obtain additional information relevantto network topology, customer information, and maintenance indication.This information is used to augment the derived alarm.

The automation engine 155 d receives the derived alarm and matches thederived alarm contents with defined automation rules. Automation rulesdetermine how an event will be handled based on observed conditions. Theautomation engine 155 d can check an “Automation Eligible” flag todetermine whether to proceed with the automation process. The flag canbe set based on customer preference. If it is set to “true,” automationcontinues; otherwise, the automation engine 155 d does not perform anyfurther action on this alarm. The automation engine 155 d then opens aworkflow event, which handles and acknowledges the alarm. Automationwill then wait a configurable time period (e.g., 5 minutes). If thealarm is still outstanding after the configurable time period, theautomation will continue. Otherwise the automation engine 155 d closesthe event and releases the alarm, removing it from the operator display.Thereafter, the alarm is communicated to the GUI of the surveillance andoperations system 157 a via the component interface of the faulthandling module 155 b. The derived alarm represented on the GUI can bemarked as handled by the automation system, and used to enable personnelto examine the status of automated problem resolution at any requestedtime.

The automation engine 155 d examines and matches the reported fault to adefined automation script. Assuming a match is found in this scenario,the automation engine 155 d issues a query to the topology servicesmodule 155 a for customer information, trouble handling procedures andany scheduled maintenance activity relative to the derived alarm fromthe real-time management and analysis module 153 a. If no matchingautomation script is found to fit the reported fault, then the derivedalarm of the automation engine 155 d is declared “unhandled,” whichindicates that this fault requires manual intervention.

The topology services module 155 a receives the request from theautomation engine 155 d and acts as the proxy in obtaining the necessaryinformation from the services portal 153 b (e.g., an enterprise servicesportal (ESP)) and communicates the acquired information back to theautomation engine 155 d. Alternatively, the topology information mayhave been previously acquired and stored, and subsequently updated on aperiodic basis.

The automation engine 155 d updates the workflow event with the acquiredcustomer information. Additionally, the automation engine 155 d checksthe maintenance indicator on the alarms derived from the real-timemanagement and analysis module 153 a and determines if a maintenanceevent affecting this circuit is “active.” If active, the automationengine 155 d updates the event and derived alarms with “maintenance”indication and identification. The engine 155 d employs automationscript rules to determine subsequent actions, which could range from “nofurther action required” to “continuing with the corrective actionautomation.” If no further action is indicated, the automation engine155 d will monitor the alarms for clearance and close the workflow eventat that time. However, if a maintenance event is no longer active andthe alarm persists, then the automation scenario continues.

According to an exemplary embodiment, the automation engine 155 drequests the workflow engine 155 e to determine whether an open troubleticket already exists against the failed circuit. Next, the automationengine 155 d requests the workflow component to either open a new ticketagainst an already open ticket or open a new ticket for the failedcircuit. That is, if a ticket already existed, the original ticket canbe linked to the new ticket. The information previously obtained fromtopology services module 155 a and the network elements is used forcreation of the ticket.

The alarm, along with the opened ticket and customer information, ishanded off to NOC operations for further problem handling. Based uponscenario defined actions, the automation engine 155 d queries thealarming network elements via the command factory (CF) component 155 cbased upon the derived alarms and obtains scenario defined outageconfirmation and/or additional information. The command factorycomponent 155 c can utilize both in-band and out-of-band connectivity toperform interactions with network elements, including those on thecustomer network side. This information is updated in the workflowevent.

The automation engine 155 d invokes communication with the customerportal (CP) component 157 f and requests information relative to thefailed circuit and ticket number be placed in the affected customer'sview. In addition, the automation engine 155 d, according to oneembodiment, can invoke a Common Object Request Broker Architecture(CORBA) “method” (defined within the trouble management system 157 d)for proactive notification to the customer via service level agreement(SLA) agreed upon mechanisms, which include pager, e-mail and cell phonetext messaging, for example. Notifications to the customer are completedby the automation component requesting the trouble management system 157d to perform the notification. This information is obtained from theservices portal 153 b via a prior query from the topology servicesmodule 155 a.

The automation engine 155 d updates the workflow event with current timeand status indicating the customer confirmation required. The automationengine 155 a then waits for a period of time, as defined by anautomation script, to enable customer approval of diagnostic orcorrective actions to be taken by the service provider. It iscontemplated the approval can be pre-arranged for certain actions, orconditions.

The customer can respond either directly via the customer portal 157 for indirectly via the network (or managed service) operations center(not shown) with the following: confirmation of outage and authorizationfor invasive testing (which can include a customer identified timewindow); and rejection of the outage and request for the serviceprovider to ignore the failure (which could be caused by intentionalactivities at customer location). If the customer responds to themanaged service operations center, then personnel updates the customerportal 157 f with the confirmation or rejection information. Thecustomer portal 157 f can communicate the requested customer action backto the automation engine 155 d for continuation of the automatedactions.

The automation engine 155 d re-activates, based upon either the receivedcustomer information from the customer portal 157 f or the expiration ofthe scenario defined “wait” interval, and updates the workflow event ofthe time and automation status. If the customer “rejects” the failure,the automation engine 155 d updates the previously created derived alarmindicating customer initiated activity. The opened trouble ticket turnedover to the customer for resolution, and the automation scenario isterminated. The automation engine 155 d closes the ticket and event uponalarm clearance. If the customer confirms or the time period expires,the automation engine 155 d refers the ticket via, for example, CORBAdefined methods of the trouble management system 157 d to the testingsystem 157 c for diagnosis activities. In one embodiment of the presentinvention, the customer can specify whether to allow testing.

The automation engine 155 d and workflow engine 155 e awaitsnotification from the testing system 157 c of the results. The testingsystem 157 c automatically receives the trouble ticket, and notifies theworkflow engine 155 e that fault diagnosis and testing has commenced.Based upon content within the ticket, the testing system 157 c invokesadditional network diagnostic activities. If circuit testing is requiredand authorized, the testing system 157 c can, in certain embodiments,invoke the appropriate test and store the results in the ticket. Theworkflow engine 155 e can update the event with time and statusindicating that the testing system 157 c has problem diagnosis inprogress.

Based upon the diagnostic and test results, the testing system 157 cperforms the following. The testing system 157 c uses the troublemanagement system 157 d to refer the ticket out for action. In anexemplary embodiment, using CORBA methods, the ticket is referred out tothe appropriate “fix” organization. For example, for Field Repairactions, the ticket is referred to the resource manager component 157 evia existing rules of the trouble management system 157 d, whichschedules the repair action.

For further problem analysis, the ticket can be referred to theappropriate operations group of the service provider or a third party.The testing system 157 c then notifies the workflow engine 155 e thatdiagnosis is complete and the ticket has been referred out. The workflowengine 155 e updates the event with the time and refer-out actioncommunicated by the testing system 157 c. The automation engine 155 dand workflow engine 155 e await ticket updates received from the troublemanagement system 157 d based upon resolution activities. Upon problemresolution, the ticket is referred back to the automation engine 155 d.

In parallel with or prior to the above processes, the network elementsreporting the original failure may issue “clear,” which the real-timemanagement and analysis module 153 a maps to the original alarm andcommunicates an “alarm clear” condition to the automation engine 155 d.

Consequently, the automation engine 155 d receives the alarm clearindications and the refer-back notification from the trouble managementsystem 157 d and examines the status. If the ticket indicates that it isresolved and all of the reported workflow event alarms are in a “clear”state, then the automation engine 155 d issues an update to customerportal 157 f with status indicating the failure has been corrected. Theticket is placed on “customer time” via a standard trouble ticketingmethod.

The engine 155 d then waits for expiration ofautomation-scenario-defined customer time interval. If the troublemanagement system 157 d indicates the ticket is resolved, or is oncustomer time, and the alarms are not clear, the automation engine 155 dplaces the ticket back in the “To Be Worked” state, which is anindication to the engineer that they need to take some action.

Subsequently, the automation engine 155 d terminates the automationprocess. Upon expiration of the customer time interval, the automationengine 155 d updates the time and status in the event, and closes theticket and the event.

The above exemplary scenario represents one of many automated faulthandling “scripts.” Each scenario generally follows the same sequence ofsteps with variances dependent upon the received network faultconditions; these processes are generalized in FIGS. 3A-3E. Further, theautomation architecture 151 supports a variety of automation scenariosthat are concurrently active and in differing states of completion atany one point in time.

Errors within the automation process (e.g., a failure to create anevent) results in termination of the automated process and returning ofthe alarm to the user (e.g., network analyst, NOC engineer, etc.).Additionally the state of the event can be frequently updated tocommunicate the progress of the automation to the engineer.

As evident from the above description, the automation architecture 151supports the use of rules for the workflow events. According to oneembodiment of the present invention, the specification of rulesassociated with any given automation scenario or script can be definableand configurable via, for example, a desktop workflow “wizard.” Thedefined rules and/or scripts of the wizard can, in some embodiments, beused by the automation engine 155 d to determine and govern the actionsto be taken for each alarm reported condition.

The automation architecture 151, as explained above, has a number ofadvantages, including rapid fault isolation, thereby permitting highnetwork performance and reliability. Faults are not only isolated, butthrough automated scripts, appropriate tests are initiated across eachtest point across within the network and across various networks(including third parties). For instance, faults isolated to the localloop are automatically referred out to the local exchange carrier.Analysts are presented with a detailed analysis of what has transpiredand can now escalate within the appropriate party. Customers areautomatically notified when a trouble ticket is opened, and kept updateas the status of the event changes, without human intervention. Theautomation process also advantageously handles a multitude of alarmsituations in parallel, and can gather pertinent information fromvarious systems. Further, the system 100 can differentiate sequence ofactions based on observed conditions, and take alternative actions whena subprocess (such as testing) is busy or unresponsive.

FIG. 1C illustrates the integrated network management platform 101 incommunication with customer networks for data gathering to support thefault isolation process. As seen in FIG. 1C, the platform 101 caninterface with the customer networks 103 a, 103 b and 119 directly orindirectly. Each of the customer networks 103 a and 103 b can passalarms as well as data about their respective network elements throughnetwork management equipment 115 a and 115 b. In an exemplaryembodiment, the equipment 115 a and 115 b reside on the customers'premises. The network management equipment 115 a, for example, can becontrolled by the customer via an administrative computer 117 a, whichcan be any type of computing system, such as desktop computer, laptop,etc. Likewise, the customer network 103 b (that of a different customerthan that of the customer of network 103 a) utilizes the networkmanagement equipment 115 b to communicate with the integrated networkmanagement platform 101. These equipment 115 a and 115 b receiveinstructions or commands (i.e., command scripts) from the platform 101to collect data from network elements resident within the respectivenetworks 103 a and 103 b. The command is conveyed by the equipment 115 ato the particular network elements; it is noted that this command may betranslated to commands that can be understood by the network elements.In turn, the network data (e.g., including device status, statisticalinformation, alarm information, etc.) is transmitted back to theplatform 101 for processing (as described in FIGS. 3A-3E).

For network elements under the direct control of the service provider,the network elements may be reached through the service provider's ownnetwork management interfaces—i.e., the local interfaces of theintegrated network management platform 101.

The dialogue with the network elements in any one of the customernetworks 103 a, 103 b and 119 can be scripted, wherein the commands areissued from the command factory 155 c. Alternatively, the commands mayoriginate from higher-level functions in response to the particularconditions or the type of equipment being accessed. Further, the commandscripts can be pre-stored, dynamically created on-the-fly, or providedby the customer. If the customer elects to generate their own scripts,then such scripts can be retrieved by or deposited with the platform101.

According to an embodiment of the present invention, the scripts to beused with the network elements may be authored by or controlled by amanaged services customer. These customer-provided command scripts maybe maintained, for example, in a location accessible to the serviceprovider for use in fault isolation and recovery situations. Thesescripts are maintained, in an exemplary embodiment, within the customernetwork inventory 105. The data retrieval process performed by theintegrated network management platform 101 is further detailed withrespect to FIG. 2C.

The fault isolation process is next described without regard to anyparticular type of alarm or causes of network failure or disruption inoperation. It is recognized that the automation process can be readilyadapted to accommodate any type of alarms and causes. Also, although thesteps of the processes of FIGS. 2-7 are described in a sequential andordered fashion, it is contemplated various steps can be performedconcurrently, or otherwise executed out of the described sequence.

FIG. 2A is a flowchart of a fault isolation process performed as amanaged service, according to an embodiment of the present invention. Instep 201, the customer network 103 is monitored by the service provideras a managed service, thereby eliminating the customer organization fromthe cost and burden of performing its own network monitoring andrecovery. According to an exemplary embodiment, the real-time managementand analysis module 153 a within the fault analysis and elimination tier153. Upon receiving alarms from the customer network 103, the real-timemanagement and analysis module 153 a performs a root causedetermination, per steps 203 and 205. This module 153 a can correlatemultiple alarm reports to a single cause.

Once a root cause for the customer fault had been determined, an alarmspecific to this cause is communicated to the fault handling module 155b for automated fault handling (step 207). The fault processing tier 155gathers data via the topology services module 155 a from topologysources and determines whether the alarm is associated with amaintenance event using the fault handling module 155 b. If the alarm isoccurring within a maintenance window, the alarm is updated with themaintenance information and subsequently used by the automation engine155 d.

FIG. 2B shows a process for data collection in support of faultisolation, according to an embodiment of the present invention. For thepurposes of illustration, alarm conditions occur in the customernetworks 119 and 103 a. In step 221, the alarm condition is detected inthe customer network 119. As described previously, the managed servicessystem 100 can interface the customer networks directly or indirectly.If the subject network element is under direct control by the serviceprovider (e.g., the network element 121), as determined in step 223, theplatform 101 issues a data retrieval command through its localinterfaces (step 225). The commands can be initiated by a script storedwithin the database 105. In response to the command, the network element121 forwards pertinent network management data relating to the alarmcondition, as in step 227.

In another scenario, the alarm condition occurs in the network 103 a.Also, the service provider employs customer premise equipment (CPE),such as the network management equipment 115 a, to communicate with theplatform 101 for retrieving the necessary data. Therefore, the serviceprovider is not directly controlling any network element within thecustomer network 103 a. Returning to step 223, such a scenario resultsin the platform 101 retrieving a script, as in step 229, for aparticular customer of the network 103 a from the database 105. Thescript, in an exemplary embodiment, can be authorized by the customer orunder the control of the customer. In step 231, the platform 101 submitsa command to the network management equipment 115 a, which in turn canissue its own commands to obtain network data relating to the alarmcondition. Consequently, the relevant network elements within thecustomer network 103 a transmit the data to the platform 101 via thenetwork management equipment 115 a (step 233).

It is contemplated that the automated issuance of commands to thenetwork elements may also be used in some situations to automatecorrective actions to resolve certain types of alarms. Hence, the dataretrieval process may be repeated, for example, to obtain a snapshot ofnetwork element data before and after automated testing (steps 235 and237—which are shown in dashed lines to indicate that such steps areoptional in nature).

FIGS. 3A-3E are a flowchart of an automation process for fault handling,according to one embodiment of the present invention. The automationprocess begins when the alarms from the real-time management andanalysis module 153 a are passed to the automation engine 155 d, perstep 301. In step 303, a workflow event is created for a new customeroutage alarm. Events are used to keep track of alarm status within theplatform 101, and to serve as a container for holding one or more alarmsrelated to a single network event.

The event can be viewed via a workflow GUI (e.g., supported by thesurveillance and operation system 157 a), thereby providing status onthe automated alarm handling process, as in step 305. It is noted thatthe real-time management and analysis module 153 a has the ability tosend both the parent root cause alarm and the sympatheic childrenalarms. In one embodiment, the child alarms are not automated; however,if a child alarm is received, the automation engine 155 d will attemptto associate that child alarm with the parent's and to add the childalarm to the event.

In step 307, the automation engine 155 d adds the alarm to the createdworkflow event. Thereafter, in step 309, the Ticket Owning Group/TicketManaging Group (TOG/TMG) is set for the ticket to be created. The TOGrepresents an operations group that is responsible for the ticket; thistypically is the group that created the ticket. The TMG is theoperations group that currently responsible for working the ticket. Forexample, the TOG and/or the TMG can be set specific to a NOC group andobtained from information provided by the services portal 153 b. In anexemplary embodiment, the TOG and TMG can both be set based on the NOCgroup.

Next, the workflow event state is set to a Timed (TMD) Wait/Get Datastate; this information can be accessed via the workflow GUI (step 311).In step 313, the process “waits” for a configurable period (e.g., 5minutes) to ensure that the alarm stays active in the network before aticket and other troubleshooting activities commence.

It is noted that during this waiting period, various backgroundprocesses can occur. For instance, the trouble management system 157 dcan be consulted to determine whether an existing ticket for the samecustomer circuit and IP address is already in the ticketing system 157d. If an existing ticket is found, the ticket number is recorded; thisinformation can be used during the ticketing phase of the automation.The services portal database is queried to obtain customer specificinformation associated with the alarm from the real-time management andanalysis system 153 a.

These tasks can also be performed in parallel. The configurable periodcan be set for the duration of the longest running task. According to anembodiment of the present invention, this period can be set based on thealarm type. At the end of the configurable period, the state of theworkflow event and the alarm is checked as follows.

As shown in FIG. 3B, the process determines whether the alarm is clear,as in step 315. If the alarm is clear, the workflow event is closed(step 317), and the automation process ends. However, if the alarm isnot clear, the event is checked to determine whether it has beenmanually closed (step 319). If the event has been closed, it is likelythat the analyst does not want to continue with the automated handlingof the alarm.

Upon determining that the event is not closed, the process examineswhether the event is manually associated with a trouble ticket, per step321. If the event has had a ticket associated with it, then the analysthas taken the necessary action to resolve the issues. Hence, theautomation process ceases. If the workflow event is not associated witha trouble ticket, the TOG/TMG is set for the ticket that will be created(step 323).

If the alarm is still active and none of the above conditions hasoccurred, the automation proceeds to the next step, as shown in FIG. 3C.The process examines, as in step 325, whether the alarm has amaintenance indicator, which specifies that the alarm is associated witha maintenance activity set by the surveillance and operations system 157a or the services portal 153 b. If the indicator is set, then theworkflow event is set to a maintenance ticketing state, per step 327.

Next, a trouble ticket for the alarm is open, per step 329. The troubleticket can be opened with both the TMG and TOG set to the NOC group, forexample. The process then waits for a predetermined duration (e.g., 5minutes) to allow for system updates. Subsequently, in step 331, theprocess checks whether the maintenance activity has ended, and sets theworkflow event state to “maintenance check.” The process then re-queriesthe services portal 153 b and surveillance and operations system 157 ato determine if the alarm is still within the maintenance window. If so,this is monitored until the alarm exits from the maintenance activity;maintenance is over at this point. Thereafter, in step 333, the ticketis closed after the maintenance activity is completed. The ticket numberis recorded.

At this point, the process checks whether the alarm is still active, perstep 335. If the alarm is still active, the TMG and TOG parameters arere-set based on the original rules (step 337). In step 338, themaintenance ID (identifier) is stored. The process continues in which anew trouble ticket is created, as in step 339; the new trouble ticketcan be associated with the stored maintenance ID, such that this ID canbe “pasted” into the newly created ticket. If the alarm is not active,the event is closed, per step 341, and the automation processterminates.

With respect to the decision point 331, if the alarm is not within amaintenance activity, then the automation proceeds to the step ofcreating a new trouble ticket (step 339).

For the purposes of illustration, the trouble ticketing creation processis described with respect to interface ticketing and circuit ticketing;however, it is contemplated that any type of trouble ticket can besupported depending on the configuration and requirements of thecustomer networks 103.

As shown in FIG. 3D, a new trouble ticket is generated based oninformation (or instructions) from the network operations center (NOC),per step 343. For example, if an interface ticket is required (asdetermined by the NOC), the event state is set to “interface ticketing,”and an interface ticket is created. It is determined, as in step 345,whether a ticket is in existence. If a trouble ticket does exist, thenthe workflow event state is set to an “Update ticket” state (step 347).Next, the ticket can be updated with alarm information, as necessary(step 349).

This newly created interface ticket is then associated with the existingtrouble ticket (step 351). Similarly, if a circuit ticket is needed, theworkflow event is accordingly set to “circuit ticketing.” The circuitticket is created. Comments can be further associated with the ticket,particularly the circuit ticket, by setting the event to a “Ticketcomments” state. The comments by a network analyst, for example, can beadded to the trouble ticket—e.g., responses from the services portal 153b can be recorded on a ticket activity log of the subject ticket. Thisnew circuit ticket is then associated with the existing trouble ticket.

If no existing ticket is found, new tickets can be generated asdescribed above based on information (or instructions) from the NOC;however, because no ticket is associated with the alarm, updating is notnecessary. It is noted that if this alarm was originally in amaintenance state (and as a result of the maintenance activitycompleting and the alarm is now going through the normal process), thenew ticket will be updated with the ticket ID of the maintenance ticketthat was created earlier. For example, if an interface ticket or acircuit ticket is required, the event state is respectively set to“interface ticketing” or “circuit ticketing” and the ticket is created.Comments can be further provided by the network analyst, as appropriate.

In step 353, the automation process sends notifications to the customerorganization about the tickets. These notifications involve parsing outa list of all users to be notified, as well as the methodology (e.g.,email, page, voice, etc.) for receiving these notifications.Additionally, these notifications can be based on the roles of theseusers. For instance, a contact with supervisory role can be notified ofmore severe alarms as part of an escalation process.

Next, in step 355, it is determined whether the alarm is of a type thatrequires testing. If the alarm type is not one of the specificallysupported alarms that require testing, the process performs a monitorservice, as more fully described below.

However, if testing is required, the ticket is set to a “working” stateto indicate that the automation process is handling the ticket (step357). At this point, the device associated with the root cause alarm isaccessed, as in step 359. The process issues data retrieval commands,via the command factory 155 c, to gather data on the problem.

Thereafter, the ticket is referred to the testing system 157 c, per step361. The process then determines, as in step 363, whether the NOC is theresponsible entity. If so, the automation process again accesses thedevice associated with the root cause alarm and issues the necessarydata retrieval commands to obtain status data after the testing system157 c has performed testing to resolve the problem (step 365).Alternatively, these commands can be issued before testing, depending onthe requirements of the NOC. In step 367, the process provides posttesting notifications to the users. At this stage, the ticket isunassigned, and the process proceeds to perform the monitoring service(steps 369 and 371).

FIG. 4 is a flowchart of a notification process, according to anembodiment of the present invention. The notification process beginswith obtaining the customer contact information and any notificationcriteria that the customer has specified regarding who, how, and whennotifications are to be supplied (step 401). Assuming the customernotification feature is enabled for a user and the alarm is of a typethat affects network services, these notifications are supplied viavoice, email or pager, according to one embodiment of the presentinvention. If voice notification is requested as determined in step 403,the alarm is set to indicate voice notification (as in step 405).

Per steps 407 and 409, if email notification is requested, the troubleticket activity is configured for email notification with all emailaddresses designated for notification. Likewise, if pager notificationis desired, the trouble ticket activity is set for pager notificationwith all pager numbers designated for notification (steps 411 and 413).

The automation process is capable of waiting for a response orinstructions from the contact for a certain configurable duration. Forinstance, with pager notification, the user receives notification text,and provides a text response to the workflow engine 155 e, which thenacts appropriately to resolve the alarm.

FIG. 5 is a flowchart of a data collection process, according to oneembodiment of the present invention. In step 501, the alarm type isdetermined, and the workflow event state is set based on this determinedtype (step 503). Next, a command associated with the alarm type isissued by the command factory 155 c and is executed, as in step 505. Theresult of the command is recorded to a ticket activity log, per step507. By way of example, if the alarm type is “Router Down” (i.e., routercomponent has failed), the event state is set to “Issuing CF commandsfor Router Down.” It is contemplated that various alarm types can beutilized, including “Interface down” to indicate that an interface of anetwork component has failed, and “IP down” to indicate a problem withthe IP addressing, for example.

FIGS. 6A-6D are a flowchart of a process for fault testing, according toan embodiment of the present invention. The fault testing process beginswith examining the test flag, as in step 601, and determining whetherthe flag is set to indicate that no testing is required (step 603). Ifthe flag is set to false, then the ticket is updated to indicate “notesting,” per step 605. Work on the ticket is ceased, as in step 607.This alerts the NOC that the automation process is no longer working onthe ticket. In step 609, the process continues to monitor the ticket(step 609).

Back in step 603, if the ticket is not set to false, then the automationprocess determines whether the alarm type is of a pre-specified type,per step 611. Next, in step 613, the process checks whether the servicesportal 153 b has a response to the alarm. In step 614, the processdetermines whether the testing has been approved by the customer. In anexemplary embodiment, the customer can pre-authorize certain testing;however, if the testing is unusual (as defined and specified by thecustomer) or can significantly impact the customer's operations, thentesting is likely to require approval beyond the pre-authorized testingscenarios.

In step 615, the ticket is updated accordingly. For example, if thealarm type is Interface Logical Connection Down or IP Down, in the caseof a frame relay network, the automation process checks for theconnection identifier (e.g., Data Link Connection Identifier (DLCI)) inthe response from the services portal 153 b. The event can thus beupdated to indicate that no DLCI is provided. Thereafter, the processreturns to the monitoring step 609.

Next, a working group of the testing system 157 c is set (step 617). Theworkflow event state, as in step 619, is set to “Refer to TestingSystem.” The automation process accordingly refers the ticket to thetesting system 157 c for handling, per step 621 (shown in FIG. 6B), andwaits for a configurable duration for the system 157 c to accept theticket. If the ticket is not accepted (as determined in step 623), thealarm is updated to indicated non-acceptance of the ticket, as in step625. The automation process then retrieves the ticket back for handling,per step 627. At this point, the process proceeds, as in step 629, toperform post testing notifications. This notification process is similarto that of FIG. 4, with information relating to testing being provided.Next, in step 631, the workflow event is set to a “Testing” state.

At this juncture, the automation process determines whether the alarm isstill active, as in step 633. If the alarm is not active, the workflowevent state is set to “All Alarms Clear” state (step 635). The ticket istaken back, per step 637, by the automation process from the testingsystem 157 c. Thereafter, both the ticket and the event activity areupdated to indicate that the alarm was cleared during testing, as instep 639. In step 641, the post testing notification is performed.

In the scenario whereby the alarm is still active, end-to-enddiagnostics are performed based on the identified alarm, such as analarm circuit (step 643). This testing can determine whether the problemis internal to the customer network 103, within a third party provider(not shown) or the service provider network. In step 645, the ticket isreferred to an appropriate entity based on the diagnosis to repair orotherwise remedy the problem. Also, notification is provided to indicatecompletion of the test (step 647).

In parallel to the above steps 643-647, the automation engine 155 d canwait, as in step 649, for a configurable period of time (e.g., up to 60minutes for the testing system 157 c to complete the test), as set by atimer, for example. If the timer expires and the test is not completed(as determined in step 651), the workflow event state is set to “TestNot Completed,” as in step 653. The process retrieves the ticket fromthe testing system 157 c, as in step 655. In step 657, the automationengine 155 d performs post testing notification. In step 659 , theworkflow event state is set to “Test Completed.”

FIG. 7 is a flowchart of a process for network monitoring, according toan embodiment of the present invention. As for the monitoring service,the workflow event state is set to “Monitor Service” (step 701). Theticket is then monitored, per step 703. This monitoring can be executedon a periodic basis (e.g., every 2 minutes), until the status of theticket is either resolved, void, or closed, as determined in step 705.In step 707, a timer for the monitoring process is initialized; thevalue of this monitor timer can be set based on historical data relatingto the duration of the associated activities (e.g., 4 hours) forresolving the ticket.

In step 709, the alarm status is monitored. Thereafter, it is determinedwhether the alarm transitioned from a “Clear” state to an “Unclear”state (step 711). If the ticket is undergoing the monitor service andthe alarm moves from the Clear state to the Unclear state, then theticket is placed back into the “Open to be Worked” state, as in step713. Next, the ticket activity log is updated, as in step 715,accordingly to indicate that the ticket is now being worked on.

At this stage, the process can access the services portal 153 b, perstep 717, to obtain the customer contacts (in case the contacts havechanged) for sending out notifications. Such notifications can be basedon any number of triggers—e.g., time, events, rules, etc. For example,the customer contact can be notified if the ticket is a “high” priority(or whatever priority setting specified by the customer). Thenotification process can follow that of FIG. 4.

The process determines whether the monitor timer has expired, per step719. If the timer has not lapsed, the monitoring process continues(returns to step 709).

One of ordinary skill in the art would recognize that the processes forautomated fault isolation and/or recovery may be implemented viasoftware, hardware (e.g., general processor, Digital Signal Processing(DSP) chip, an Application Specific Integrated Circuit (ASIC), FieldProgrammable Gate Arrays (FPGAs), etc.), firmware, or a combinationthereof. Such exemplary hardware for performing the described functionsis detailed below.

FIG. 8 illustrates a computer system 800 upon which an embodimentaccording to the present invention can be implemented. For example, theprocesses of FIGS. 2A-2C and 4-9 can be implemented using the computersystem 800. The computer system 800 includes a bus 801 or othercommunication mechanism for communicating information and a processor803 coupled to the bus 801 for processing information. The computersystem 800 also includes main memory 805, such as a random access memory(RAM) or other dynamic storage device, coupled to the bus 801 forstoring information and instructions to be executed by the processor803. Main memory 805 can also be used for storing temporary variables orother intermediate information during execution of instructions by theprocessor 803. The computer system 800 may further include a read onlymemory (ROM) 807 or other static storage device coupled to the bus 801for storing static information and instructions for the processor 803. Astorage device 809, such as a magnetic disk or optical disk, is coupledto the bus 801 for persistently storing information and instructions.

The computer system 800 may be coupled via the bus 801 to a display 811,such as a cathode ray tube (CRT), liquid crystal display, active matrixdisplay, or plasma display, for displaying information to a computeruser. An input device 813, such as a keyboard including alphanumeric andother keys, is coupled to the bus 801 for communicating information andcommand selections to the processor 803. Another type of user inputdevice is a cursor control 815, such as a mouse, a trackball, or cursordirection keys, for communicating direction information and commandselections to the processor 803 and for controlling cursor movement onthe display 811.

According to one embodiment of the invention, the processes describedherein are performed by the computer system 800, in response to theprocessor 803 executing an arrangement of instructions contained in mainmemory 805. Such instructions can be read into main memory 805 fromanother computer-readable medium, such as the storage device 809.Execution of the arrangement of instructions contained in main memory805 causes the processor 803 to perform the process steps describedherein. One or more processors in a multi-processing arrangement mayalso be employed to execute the instructions contained in main memory805. In alternative embodiments, hard-wired circuitry may be used inplace of or in combination with software instructions to implement theembodiment of the present invention. Thus, embodiments of the presentinvention are not limited to any specific combination of hardwarecircuitry and software.

The computer system 800 also includes a communication interface 817coupled to bus 801. The communication interface 817 provides a two-waydata communication coupling to a network link 819 connected to a localnetwork 821. For example, the communication interface 817 may be adigital subscriber line (DSL) card or modem, an integrated servicesdigital network (ISDN) card, a cable modem, a telephone modem, or anyother communication interface to provide a data communication connectionto a corresponding type of communication line. As another example,communication interface 817 may be a local area network (LAN) card (e.g.for Ethernet™ or an Asynchronous Transfer Model (ATM) network) toprovide a data communication connection to a compatible LAN. Wirelesslinks can also be implemented. In any such implementation, communicationinterface 817 sends and receives electrical, electromagnetic, or opticalsignals that carry digital data streams representing various types ofinformation. Further, the communication interface 817 can includeperipheral interface devices, such as a Universal Serial Bus (USB)interface, a PCMCIA (Personal Computer Memory Card InternationalAssociation) interface, etc. Although a single communication interface817 is depicted in FIG. 8, multiple communication interfaces can also beemployed.

The network link 819 typically provides data communication through oneor more networks to other data devices. For example, the network link819 may provide a connection through local network 821 to a hostcomputer 823, which has connectivity to a network 825 (e.g. a wide areanetwork (WAN) or the global packet data communications network nowcommonly referred to as the “Internet”) or to data equipment operated bya service provider. The local network 821 and the network 825 both useelectrical, electromagnetic, or optical signals to convey informationand instructions. The signals through the various networks and thesignals on the network link 819 and through the communication interface817, which communicate digital data with the computer system 800, areexemplary forms of carrier waves bearing the information andinstructions.

The computer system 800 can send messages and receive data, includingprogram code, through the network(s), the network link 819, and thecommunication interface 817. In the Internet example, a server (notshown) might transmit requested code belonging to an application programfor implementing an embodiment of the present invention through thenetwork 825, the local network 821 and the communication interface 817.The processor 803 may execute the transmitted code while being receivedand/or store the code in the storage device 809, or other non-volatilestorage for later execution. In this manner, the computer system 800 mayobtain application code in the form of a carrier wave.

The term “computer-readable medium” as used herein refers to any mediumthat participates in providing instructions to the processor 803 forexecution. Such a medium may take many forms, including but not limitedto non-volatile media, volatile media, and transmission media.Non-volatile media include, for example, optical or magnetic disks, suchas the storage device 809. Volatile media include dynamic memory, suchas main memory 805. Transmission media include coaxial cables, copperwire and fiber optics, including the wires that comprise the bus 801.Transmission media can also take the form of acoustic, optical, orelectromagnetic waves, such as those generated during radio frequency(RF) and infrared (IR) data communications. Common forms ofcomputer-readable media include, for example, a floppy disk, a flexibledisk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM,CDRW, DVD, any other optical medium, punch cards, paper tape, opticalmark sheets, any other physical medium with patterns of holes or otheroptically recognizable indicia, a RAM, a PROM, and EPROM, a FLASH-EPROM,any other memory chip or cartridge, a carrier wave, or any other mediumfrom which a computer can read.

Various forms of computer-readable media may be involved in providinginstructions to a processor for execution. For example, the instructionsfor carrying out at least part of the present invention may initially beborne on a magnetic disk of a remote computer. In such a scenario, theremote computer loads the instructions into main memory and sends theinstructions over a telephone line using a modem. A modem of a localcomputer system receives the data on the telephone line and uses aninfrared transmitter to convert the data to an infrared signal andtransmit the infrared signal to a portable computing device, such as apersonal digital assistant (PDA) or a laptop. An infrared detector onthe portable computing device receives the information and instructionsborne by the infrared signal and places the data on a bus. The busconveys the data to main memory, from which a processor retrieves andexecutes the instructions. The instructions received by main memory canoptionally be stored on storage device either before or after executionby processor.

The following patent applications are incorporated by reference in theirentireties: co-pending U.S. patent application Ser. No. (Attorney DocketNo. COS05006) filed Dec. 23, 2005, entitled “Method and System forProviding Automated Fault Isolation in a Managed Services Network”;co-pending U.S. patent application Ser. No. (Attorney Docket No.COS05008) filed Dec. 23, 2005, entitled “Method and System forProcessing Fault Alarms and Maintenance Events in a Managed NetworkServices System”; co-pending U.S. patent application Ser. No. (AttorneyDocket No. COS05009) filed Dec. 23, 2005, entitled “Method and Systemfor Processing Fault Alarms and Trouble Tickets in a Managed NetworkServices System”; and co-pending U.S. patent application Ser. No.(Attorney Docket No. COS05010) filed Dec. 23, 2005, entitled “Method andSystem for Controlling Customer Contact Data in a Managed NetworkServices System.”

While the present invention has been described in connection with anumber of embodiments and implementations, the present invention is notso limited but covers various obvious modifications and equivalentarrangements, which fall within the purview of the appended claims.Additionally, the features of the present invention can be combined in anumerous combinations and permutations, in which the appended claims areillustrative in nature.

1. A method for supporting automated fault isolation, the methodcomprising: receiving an alarm indicating a fault within a customernetwork that includes one or more network elements, the customer networkbeing monitored by a service provider; retrieving one of a plurality ofscripts for specifying a dialogue with the network elements for datacollection; transmitting a command to the customer network according tothe one script to obtain data from the network elements, wherein thedata is utilized to determine the fault; and generating a workflow eventcorresponding to the alarm, wherein resolution of the fault is automatedaccording to the workflow event.
 2. A method according to claim 1,wherein the one script is created by a user associated with the customernetwork.
 3. A method according to claim 1, wherein the command istransmitted to a network management equipment configured to communicatewith the network elements to obtain the data.
 4. A method according toclaim 1, wherein one of the network elements is under control of theservice provider, the one network element receiving the command.
 5. Amethod according to claim 1, further comprising: initiating automatedtesting to resolve the fault as specified by the workflow event, whereinadditional data is collected from the network elements after thetesting.
 6. A system for supporting automated fault isolation as amanaged service by a service provider, the system comprising: anautomation engine configured to receive an alarm indicating a faultwithin a customer network that includes one or more network elements,wherein the automation engine is further configured to retrieve one of aplurality of scripts for specifying a dialogue with the network elementsfor data collection; a command factory configured to transmit a commandto the customer network according to the one script to obtain data fromthe network elements, wherein the data is utilized to determine thefault; and a workflow engine configured to generate a workflow eventcorresponding to the alarm, wherein resolution of the fault is automatedaccording to the workflow event.
 7. A system according to claim 6,wherein the one script is created by a user associated with the customernetwork.
 8. A system according to claim 6, wherein the command istransmitted to a network management equipment configured to communicatewith the network elements to obtain the data.
 9. A system according toclaim 6, wherein one of the network elements is under control of theservice provider, the one network element receiving the command.
 10. Asystem according to claim 6, wherein the workflow engine is furtherconfigured to initiate automated testing to resolve the fault asspecified by the workflow event, wherein additional data is collectedfrom the network elements after the testing.
 11. A method for supportingautomated fault isolation, the method comprising: transmitting an alarmto a network management platform operated by a service provider, thealarm indicating a fault within a customer network that includes one ormore network elements, wherein the network management platform isconfigured to retrieve one of a plurality of scripts for specifying adialogue with the network elements for data collection and to generate aworkflow event corresponding to the alarm; and receiving a command fromthe network management platform according to the one script to obtaindata from the network elements, wherein the data is utilized todetermine the fault.
 12. A method according to claim 11, wherein the onescript is created by a user associated with the customer network, themethod further comprising: communicating with a computing system togenerate the one script.
 13. A method according to claim 11, furthercomprising: conveying the command to the network elements to obtain thedata.
 14. A method according to claim 11, wherein the network managementplatform is further configured to initiate automated testing to resolvethe fault as specified by the workflow event, wherein additional data iscollected from the network elements after the testing.
 15. A methodaccording to claim 11, wherein the scripts are stored in a databasemaintained by the service provider.
 16. An apparatus for supportingautomated fault isolation as a managed service by a service provider,the apparatus comprising: a communication interface configured totransmit an alarm to a network management platform operated by theservice provider, the alarm indicating a fault within a customer networkthat includes one or more network elements, wherein the networkmanagement platform is configured to retrieve one of a plurality ofscripts for specifying a dialogue with the network elements for datacollection and to generate a workflow event corresponding to the alarm;and a processor coupled to the communication interface and configured toreceive a command from the network management platform according to theone script to obtain data from the network elements, wherein the data isutilized to determine the fault.
 17. An apparatus according to claim 16,wherein the one script is created by a user associated with the customernetwork, the apparatus further comprising: another communicationinterface configured to communicate with a computing apparatus togenerate the one script.
 18. An apparatus according to claim 16, whereinthe processor is further configured to generate convey the command tothe network elements to obtain the data.
 19. An apparatus according toclaim 16, wherein the network management platform is further configuredto initiate automated testing to resolve the fault as specified by theworkflow event, wherein additional data is collected from the networkelements after the testing.
 20. An apparatus according to claim 16,wherein the scripts are stored in a database maintained by the serviceprovider.